package it.infodea.tapestrydea.services.jcr;

import java.util.Hashtable;

import javax.naming.Context;

/**
 * Costanti dalla sezione di integrazione del rpository
 * @author bobpuley
 *
 */
public class IJcrConstants {
	
	/**
	 * chiave da usare nel web.xml per configurare il path del file rpository.xml sul filesystem.
	 */
	public static final String MEDIS_JCR_REPOSITORY_FILE_PATH_KEY = "tapdea.repository-file-path";

	/**
	 * chiave da usare nel web.xml per configurare il path della root del repository sul filesystem
	 */
	public static final String MEDIS_JCR_REPOSITORY_PATH_KEY = "tapdea.repository-path";

	/**
	 * chiave da usare nel web.xml per configurare il nome dell'istanza jndi del repository
	 */
	public static final String MEDIS_JCR_REPOSITORY_NAME = "tapdea.repository-name";
	
	/**
	 * nome della classe da usare con jackrabbit per gestire il rpository sul jndi.
	 */
	public static final String JCR_JNDI_CLASS_NAME = "org.apache.jackrabbit.core.jndi.provider.DummyInitialContextFactory";


	/**
	 * Crea l' hashtable di Environnement per l'accesso al jndi
	 * @param jndiProviderUrl
	 * @return Hashtable<String, String> 
	 */
	public static Hashtable<String, String> provideJndiEnv(String jndiProviderUrl){
		Hashtable<String, String> env = new Hashtable<String, String>();
		env.put(Context.INITIAL_CONTEXT_FACTORY,
				IJcrConstants.JCR_JNDI_CLASS_NAME);
		env.put(Context.PROVIDER_URL, jndiProviderUrl);
		return env;
	}
}
